package com.skzh.uavTask.mapper;

import com.skzh.uavTask.domain.TaskInfo;
import com.skzh.uavTask.domain.TaskInfo2;
import com.skzh.uavTask.domain.TaskScheduleVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface TaskInfoMapper {
    /**
     * 查询任务列表
     */
    List<TaskInfo> selectTaskList(TaskInfo taskInfo);

    /**
     * 查询任务详细信息
     */
    TaskInfo selectTaskById(Long taskId);

    /**
     * 新增任务
     */
    int insertTask(TaskInfo task);

    /**
     * 修改任务
     */
    int updateTask(TaskInfo task);

    /**
     * 删除任务
     */
    int deleteTaskByIds(Long[] taskIds);

    /**
     * 更新任务状态
     */
    int updateTaskStatus(TaskInfo task);

    List<TaskScheduleVO> selectMonthlySchedule(
            @Param("targetYearMonth") String targetYearMonth,
            @Param("targetStart") String targetStart,
            @Param("targetEnd") String targetEnd
    );

    List<TaskInfo2> selectTaskByDockId(TaskInfo2 taskInfo2);
}
